//
// 此文件是由 JavaTM Architecture for XML Binding (JAXB) 引用实现 v2.2.8-b130911.1802 生成的
// 请访问 <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
// 在重新编译源模式时, 对此文件的所有修改都将丢失。
// 生成时间: 2019.03.12 时间 12:12:00 PM CST 
//


package com.youhome.service.listhub;

import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAnyElement;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;


/**
 * 
 * 				A lengthy discussion was held on the WaterFeature
 * 				at the October 2007 Calgary meeting.
 * 				At this time, the work group members decided that the
 * 				features around the lot, like the water feature(s)
 * 				should be kept with the lot and not separated out.
 * 			
 * 
 * <p>WaterFeatureType complex type的 Java 类。
 * 
 * <p>以下模式片段指定包含在此类中的预期内容。
 * 
 * <pre>
 * &lt;complexType name="WaterFeatureType">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="Category" type="{http://rets.org/xsd/RETSCommons}WaterFeatureCategoryEnum" minOccurs="0"/>
 *         &lt;element name="HasWaterAccess" type="{http://rets.org/xsd/RETSCommons}nullable-boolean" minOccurs="0"/>
 *         &lt;element name="HasWaterView" type="{http://rets.org/xsd/RETSCommons}nullable-boolean" minOccurs="0"/>
 *         &lt;element name="IsNavigable" type="{http://rets.org/xsd/RETSCommons}nullable-boolean" minOccurs="0"/>
 *         &lt;element name="IsWaterfront" type="{http://rets.org/xsd/RETSCommons}nullable-boolean" minOccurs="0"/>
 *         &lt;element name="PermitWaterSports" type="{http://rets.org/xsd/RETSCommons}nullable-boolean" minOccurs="0"/>
 *         &lt;element name="PermitWaterSki" type="{http://rets.org/xsd/RETSCommons}nullable-boolean" minOccurs="0"/>
 *         &lt;element name="BlocksToWater" type="{http://rets.org/xsd/RETSCommons}SecureDecimal" minOccurs="0"/>
 *         &lt;element name="BodyName" type="{http://rets.org/xsd/RETSCommons}SecureString" minOccurs="0"/>
 *         &lt;element name="DockType" type="{http://rets.org/xsd/RETSCommons}SecureString" minOccurs="0"/>
 *         &lt;element name="DocksTotal" type="{http://rets.org/xsd/RETSCommons}boundedCardinalInteger" minOccurs="0"/>
 *         &lt;element name="PowerBoatsTotal" type="{http://rets.org/xsd/RETSCommons}boundedCardinalInteger" minOccurs="0"/>
 *         &lt;element name="NonPowerBoatsTotal" type="{http://rets.org/xsd/RETSCommons}boundedCardinalInteger" minOccurs="0"/>
 *         &lt;element name="MeanLowWater" type="{http://rets.org/xsd/RETSCommons}SecureMeasurement" minOccurs="0"/>
 *         &lt;element name="WaterFrontage" type="{http://rets.org/xsd/RETSCommons}SecureMeasurement" minOccurs="0"/>
 *         &lt;element name="PhysicalDockSlipConvey" type="{http://rets.org/xsd/RETSCommons}SecureString" minOccurs="0"/>
 *         &lt;any namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "WaterFeatureType", propOrder = {
    "category",
    "hasWaterAccess",
    "hasWaterView",
    "isNavigable",
    "isWaterfront",
    "permitWaterSports",
    "permitWaterSki",
    "blocksToWater",
    "bodyName",
    "dockType",
    "docksTotal",
    "powerBoatsTotal",
    "nonPowerBoatsTotal",
    "meanLowWater",
    "waterFrontage",
    "physicalDockSlipConvey",
    "any"
})
public class WaterFeatureType {

    @XmlElement(name = "Category")
    protected WaterFeatureCategoryEnum category;
    @XmlElement(name = "HasWaterAccess")
    protected String hasWaterAccess;
    @XmlElement(name = "HasWaterView")
    protected String hasWaterView;
    @XmlElement(name = "IsNavigable")
    protected String isNavigable;
    @XmlElement(name = "IsWaterfront")
    protected String isWaterfront;
    @XmlElement(name = "PermitWaterSports")
    protected String permitWaterSports;
    @XmlElement(name = "PermitWaterSki")
    protected String permitWaterSki;
    @XmlElement(name = "BlocksToWater")
    protected SecureDecimal blocksToWater;
    @XmlElement(name = "BodyName")
    protected SecureString bodyName;
    @XmlElement(name = "DockType")
    protected SecureString dockType;
    @XmlElement(name = "DocksTotal")
    @XmlSchemaType(name = "nonNegativeInteger")
    protected Integer docksTotal;
    @XmlElement(name = "PowerBoatsTotal")
    @XmlSchemaType(name = "nonNegativeInteger")
    protected Integer powerBoatsTotal;
    @XmlElement(name = "NonPowerBoatsTotal")
    @XmlSchemaType(name = "nonNegativeInteger")
    protected Integer nonPowerBoatsTotal;
    @XmlElement(name = "MeanLowWater")
    protected SecureMeasurement meanLowWater;
    @XmlElement(name = "WaterFrontage")
    protected SecureMeasurement waterFrontage;
    @XmlElement(name = "PhysicalDockSlipConvey")
    protected SecureString physicalDockSlipConvey;
    @XmlAnyElement(lax = true)
    protected List<Object> any;

    /**
     * 获取category属性的值。
     * 
     * @return
     *     possible object is
     *     {@link WaterFeatureCategoryEnum }
     *     
     */
    public WaterFeatureCategoryEnum getCategory() {
        return category;
    }

    /**
     * 设置category属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link WaterFeatureCategoryEnum }
     *     
     */
    public void setCategory(WaterFeatureCategoryEnum value) {
        this.category = value;
    }

    /**
     * 获取hasWaterAccess属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getHasWaterAccess() {
        return hasWaterAccess;
    }

    /**
     * 设置hasWaterAccess属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setHasWaterAccess(String value) {
        this.hasWaterAccess = value;
    }

    /**
     * 获取hasWaterView属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getHasWaterView() {
        return hasWaterView;
    }

    /**
     * 设置hasWaterView属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setHasWaterView(String value) {
        this.hasWaterView = value;
    }

    /**
     * 获取isNavigable属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getIsNavigable() {
        return isNavigable;
    }

    /**
     * 设置isNavigable属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setIsNavigable(String value) {
        this.isNavigable = value;
    }

    /**
     * 获取isWaterfront属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getIsWaterfront() {
        return isWaterfront;
    }

    /**
     * 设置isWaterfront属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setIsWaterfront(String value) {
        this.isWaterfront = value;
    }

    /**
     * 获取permitWaterSports属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getPermitWaterSports() {
        return permitWaterSports;
    }

    /**
     * 设置permitWaterSports属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setPermitWaterSports(String value) {
        this.permitWaterSports = value;
    }

    /**
     * 获取permitWaterSki属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getPermitWaterSki() {
        return permitWaterSki;
    }

    /**
     * 设置permitWaterSki属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setPermitWaterSki(String value) {
        this.permitWaterSki = value;
    }

    /**
     * 获取blocksToWater属性的值。
     * 
     * @return
     *     possible object is
     *     {@link SecureDecimal }
     *     
     */
    public SecureDecimal getBlocksToWater() {
        return blocksToWater;
    }

    /**
     * 设置blocksToWater属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link SecureDecimal }
     *     
     */
    public void setBlocksToWater(SecureDecimal value) {
        this.blocksToWater = value;
    }

    /**
     * 获取bodyName属性的值。
     * 
     * @return
     *     possible object is
     *     {@link SecureString }
     *     
     */
    public SecureString getBodyName() {
        return bodyName;
    }

    /**
     * 设置bodyName属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link SecureString }
     *     
     */
    public void setBodyName(SecureString value) {
        this.bodyName = value;
    }

    /**
     * 获取dockType属性的值。
     * 
     * @return
     *     possible object is
     *     {@link SecureString }
     *     
     */
    public SecureString getDockType() {
        return dockType;
    }

    /**
     * 设置dockType属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link SecureString }
     *     
     */
    public void setDockType(SecureString value) {
        this.dockType = value;
    }

    /**
     * 获取docksTotal属性的值。
     * 
     * @return
     *     possible object is
     *     {@link Integer }
     *     
     */
    public Integer getDocksTotal() {
        return docksTotal;
    }

    /**
     * 设置docksTotal属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link Integer }
     *     
     */
    public void setDocksTotal(Integer value) {
        this.docksTotal = value;
    }

    /**
     * 获取powerBoatsTotal属性的值。
     * 
     * @return
     *     possible object is
     *     {@link Integer }
     *     
     */
    public Integer getPowerBoatsTotal() {
        return powerBoatsTotal;
    }

    /**
     * 设置powerBoatsTotal属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link Integer }
     *     
     */
    public void setPowerBoatsTotal(Integer value) {
        this.powerBoatsTotal = value;
    }

    /**
     * 获取nonPowerBoatsTotal属性的值。
     * 
     * @return
     *     possible object is
     *     {@link Integer }
     *     
     */
    public Integer getNonPowerBoatsTotal() {
        return nonPowerBoatsTotal;
    }

    /**
     * 设置nonPowerBoatsTotal属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link Integer }
     *     
     */
    public void setNonPowerBoatsTotal(Integer value) {
        this.nonPowerBoatsTotal = value;
    }

    /**
     * 获取meanLowWater属性的值。
     * 
     * @return
     *     possible object is
     *     {@link SecureMeasurement }
     *     
     */
    public SecureMeasurement getMeanLowWater() {
        return meanLowWater;
    }

    /**
     * 设置meanLowWater属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link SecureMeasurement }
     *     
     */
    public void setMeanLowWater(SecureMeasurement value) {
        this.meanLowWater = value;
    }

    /**
     * 获取waterFrontage属性的值。
     * 
     * @return
     *     possible object is
     *     {@link SecureMeasurement }
     *     
     */
    public SecureMeasurement getWaterFrontage() {
        return waterFrontage;
    }

    /**
     * 设置waterFrontage属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link SecureMeasurement }
     *     
     */
    public void setWaterFrontage(SecureMeasurement value) {
        this.waterFrontage = value;
    }

    /**
     * 获取physicalDockSlipConvey属性的值。
     * 
     * @return
     *     possible object is
     *     {@link SecureString }
     *     
     */
    public SecureString getPhysicalDockSlipConvey() {
        return physicalDockSlipConvey;
    }

    /**
     * 设置physicalDockSlipConvey属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link SecureString }
     *     
     */
    public void setPhysicalDockSlipConvey(SecureString value) {
        this.physicalDockSlipConvey = value;
    }

    /**
     * Gets the value of the any property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the any property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getAny().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link Object }
     * 
     * 
     */
    public List<Object> getAny() {
        if (any == null) {
            any = new ArrayList<Object>();
        }
        return this.any;
    }

}
